As electronic devices become more compact, and the number of functions performed by a given device increases, it has become a significant challenge to design a user interface (UI) allowing users to easily interact with a multifunction electronic device. The challenge is particularly significant for portable devices such as handheld or wearable devices which have much smaller screens than desktop or laptop computers. This situation is unfortunate because the user interface is the gateway through which users receive content and responses from a device and input data or information to access the features, tools and functions of the devices.
Lots of electronic devices have been equipped with touch-sensitive displays (also known as a “touch screen displays”) through which the users can directly interact with the devices using their fingers or other interaction tools like a stylus. At present, such electronic devices usually provide virtual keypads or keyboards (for example, virtual QWERTY keyboards) to allow the users to input text. In order to improve the efficiency of text input, some portable devices have resorted to adding more physical buttons or overloading the functions of physical buttons. It is also known that some devices with touch screen displays enable the users to attach conventional, physical keypads or keyboards to input text.